home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d27
/
pgmmenu.arc
/
CRC1235.RPG
< prev
next >
Wrap
Text File
|
1991-12-04
|
13KB
|
265 lines
/TITLE Programmer menu user's defaults maintenance.
* Program - CRC1235
* Written - 04/12/84
* Revised - 09/04/84 - 12/30/85
* Author - R. Cozzi, Jr.
FCRC1235 CF E WORKSTN KINFSR *PSSR
F RRN KSFILE CRC1235D
E SEQA 25 15 Sequencing Array
E LIBL 25 11 Initial LibL
ISEQDS DS
I 01 052SEQ
I 06 15 LIB
IUSR DS
I 01 10 USER
I 11 20 LIBR
I DS
* The subfile's relative record number
* field and the "X" variable will always
* contain the same value (i.e., X Equates RRN).
I P 01 030RRN
I P 01 030X
IPGMDFT E DSCRC1239 2000
I SRCFILE SRCF
I SRCLIB SRCFLB
I OBJLIB OBJLB
I JOBD JOBD
I JOBDLIB JOBDLB
I LOG LOG
I SIGNOFF SIGNOF
I LOGCLPGM LOGCLP
I ALWRTVSRC ALWRTV
I USRPRF USRPRF
I PUBAUT PUBAUT
I RSTDSP RSTDSP
I DFRWRT DFRWRT
* Data base file size.
I SIZE1 SIZE1
I SIZE2 SIZE2
I SIZE3 SIZE3
I MAXRCDS MAXRCD
I SCHEDULE PRTSCH
I BLINK BLINK
I RSTLIBL RSTLBL
I LIBL LIBL
I MBRLST MBRLST
I DFTYPE DFTYPE
I SHARE SHARE
I OPTIMIZE OPTMIZ
*
I SDS
I *PROGRAM PGMNAM
I *STATUS STATUS
I *PARMS PARMS
I 40 46 ESCID
I 91 170 MSGTXT
C *ENTRY PLIST
C PARM USR
C *IN10 PARM *IN01 CF01
C PARM MSGID
C PARM MSG
/SPACE
C *LIKE DEFN MSGTXT MSG
C *LIKE DEFN ESCID MSGID
C *LIKE DEFN *IN01 CF01
C *LIKE DEFN *IN02 IN02
C *LIKE DEFN *IN11 IN11
/SPACE
C *NAMVAR DEFN PGMDFT
C *LOCK IN PGMDFT
* Clear/Activate subfile.
C WRITECRC1235C
* Display the "Display file's" heading.
C WRITECRC1235T
/SPACE
* If new user's data area, then set on "NEW USER"
* constant indicator.
C *IN10 CASEQ'1' SETDFT 12
C END
/SPACE
C *IN11 DOUEQ'0' Begin DO *IN11
* Display screen until modify data tag is off.
C DISP1 TAG
C EXFMTCRC1235A Display DFT's
* If CMD 1, then exit with no update.
C *IN01 CABEQ'1' EXIT CMD1 - Exit PGM
/SPACE
C *IN03 IFEQ '1'
* If CMD 3, then set on change-mode indicator.
* Also set on the modify data tag indicator (11),
* to force loop.
C MOVEA'11' *IN,10
C END
/SPACE
C END End DO *IN11
/SPACE
* Stay in loop if CMD 2 is used.
C *IN02 DOUEQ'0' Begin DO *IN02
*
C *IN11 DOUEQ'0' Begin DO *IN11
* Display screen until modify data tag is off.
C EXFMTCRC1235B Display DFT's
* If CMD 1, then exit with no update.
C *IN01 CABEQ'1' EXIT CMD1 - Exit PGM
C *IN02 CABEQ'1' DISP1 CMD2 - Previous
/SPACE
C *IN03 IFEQ '1'
* If CMD 3, then set on change-mode indicator.
* Also set on the modify data tag indicator (11),
* to force loop.
C MOVEA'11' *IN,10
C END
/SPACE
C END End DO *IN11
/SPACE
* The field SWS is used to insure that
* the subfile will only be built once.
C SWS CASNE'1' BLDSFL Build subfile
C END
/SPACE
C *IN11 DOUEQ'0' Begin DO
C EXFMTCRC1235C Display LibL
C MOVEL*IN02 IN02 Save 02
/SPACE
* If CMD 1, then exit with no update.
C *IN01 CABEQ'1' EXIT CMD1 - Exit PGM
* If in change mode, then sequence library list.
C *IN10 CASEQ'1' SRSFL
C END
/SPACE
C *IN03 IFEQ '1' Begin IF *IN03
* If CMD 3, then set on change-mode indicator.
* This will allow input.
C MOVE '1' *IN10
C DO 25 RRN Begin DO
* If change data key pressed, then update subfile
* with allow input.
C RRN CHAINCRC1235D 25
C UPDATCRC1235D
C END End DO
* Set on modify data tag indicator (11), to force loop.
C MOVE '1' *IN11
C END End IF *IN03
/SPACE
C END End DO *IN11
C MOVELIN02 *IN02 Restore 02
C END End DO *IN02
/SPACE
C *IN10 IFEQ '1'
* Write out the modified data area.
C OUT PGMDFT
C END
/SPACE
C EXIT TAG
* Move message info into parameter list.
C MOVELMSGTXT MSG
C MOVELESCID MSGID
* Exit program.
C UNLCKPGMDFT
C MOVEL'1' *INLR
/SPACE
CSR SETDFT BEGSR
* Set up a new user defaults data area's default values.
C MOVEL*BLANKS SRCF Source file
C MOVEL*BLANKS SRCFLB Source file lib
C MOVEL'QGPL' OBJLB Object library
C MOVEL'QBATCH' JOBD Job description
C MOVEL*BLANKS JOBDLB Job desc. lib
C MOVEL'*YES' LOG Log commands
C MOVEL'*NOLIST' SIGNOF Sign off
C MOVEL'*JOB' LOGCLP Log CL pgm cmds
C MOVEL'*YES' ALWRTV Allow retreive CL
C MOVEL'*USER' USRPRF Adopt user prf.
C MOVEL'*NORMAL' PUBAUT Public aut.
C MOVEL'*NO' RSTDSP Restore display
C MOVEL'*YES' DFRWRT Defer write
C MOVEL'10000' SIZE1 Initial records
C MOVEL'1000' SIZE2 Increment rcds.
C MOVEL'3' SIZE3 Max increments
C MOVEL'20000' MAXRCD PrtF max rcds.
C MOVEL'*JOBEND' PRTSCH Print schedule
C MOVEL'*NO' RSTLBL Restore libl
C MOVEL'*YES' BLINK Blink cursor
C MOVEL'*YES' MBRLST Req Char-MbrLst
C MOVEL'*RQD' DFTYPE Default TYPE
C MOVEL'*NO' SHARE Share open data path
C MOVEL'*YES' OPTMIZ Optimize RPGIII?
CSR ENDSR
/SPACE
CSR BLDSFL BEGSR
* Build subfile containing default
* library list.
/SPACE
* "Switch on" the SWS field switch.
* This prohibits this subroutine from
* being executed more than once.
C MOVEL'1' SWS 1
/SPACE
C DO 25 RRN Begin DO
* Place the RRNth library into the
* RRNth subfile record.
C MOVELLIBL,RRN LIB
* Move the current Relative Record number
* into the subfile display sequence number.
C Z-ADDRRN SEQ
C WRITECRC1235D
C END END DO
* Set on the indicator that allows the
* subfile control record and the subfile
* to be displayed.
C MOVEL'1' *IN21
CSR ENDSR
/SPACE
CSR SRSFL BEGSR
* Validity check library list modifications.
C MOVEL'0' *IN11
C MOVEL'0' IN11
C DO 25 RRN Begin DO
C RRN CHAINCRC1235D 2525 Error
C *IN25 IFEQ '0'
C *IN11 IFEQ '1'
C MOVEL'1' IN11 SAVE 11
C END
/SPACE
* Compress out deleted or unused library elements.
C SEQ IFEQ 0
C Z-ADD999.99 SEQ
C MOVEL*ALL' ' LIB
C ELSE
C LIB IFEQ *ALL' '
C Z-ADD999.99 SEQ
C END
C END
* Place displayed library information into
* work array/data structure element.
C MOVELSEQDS SEQA,X
C END
C N25 END End DO
C *IN25 IFEQ '0'
C SORTASEQA Sort Seq/LibL
C DO 25 X Begin DO
C RRN CHAINCRC1235D 25
C *IN25 IFEQ '0'
C MOVELSEQA,X SEQDS
C MOVELLIB LIBL,X
* Move new Relative record number into
* subfile sequence number.
C Z-ADDRRN SEQ
* Update subfile record with new library list data.
C UPDATCRC1235D
C END End IF
C END End DO
C END End IF
C MOVELIN11 *IN11
CSR ENDSR
/SPACE
CSR *PSSR BEGSR
C *IN25 IFEQ '0'
C STATUS IFEQ 09999
C MOVELESCID MSGID
C MOVELMSGTXT MSG
C UNLCKPGMDFT 25
C END
C END
CSR ENDSR'*CANCL'